package redis.clients.jedis.commands;

import java.util.List;


/**
 * 用于执行 Lua 脚本。
 * 它提供了一组方法，可以执行 Lua 脚本并获取执行结果。
 * 使用 ScriptingCommands 可以提高性能，因为它可以减少网络通信次数
 */
public interface ScriptingCommands {
  Object eval(String script, int keyCount, String... params);

  Object eval(String script, List<String> keys, List<String> args);

  Object eval(String script);

  Object evalsha(String sha1);

  Object evalsha(String sha1, List<String> keys, List<String> args);

  Object evalsha(String sha1, int keyCount, String... params);

  Boolean scriptExists(String sha1);

  List<Boolean> scriptExists(String... sha1);

  String scriptLoad(String script);
}
